Interface Builder
概要
Xcode の一部
GUI 経由でアプリケーションのインタフェースを作成できるソフトウェア
作成されたインタフェースは .nib ファイル (NeXT Interface Builder) として保存される
Interface Builder version 3 からは .xib ファイル
バージョン管理しやすさや diff の見やすさのために flat file 形式になった
https://en.wikipedia.org/wiki/Interface_Builder
Attribute
Interface Builder に関連する attribute はいくつかある。
IBAction と IBOutlet
Target-Action
IBDesignable と IBInspectable
IBDesignable は、Interface Builder に描画される、UIView を継承したクラスを一意に識別する役割を持つ
Interface Builder 上の Identity Inspector でクラス名を指定すると、その内容が Interface Builder 上に反映される
IBInspectable は、プロパティに付与すると、Interface Builder 上でその値を設定できる
こちらも、Identity Inspector から設定できる
https://medium.com/@GeraldoBastos/whats-ibdesignable-ibinspectable-292829384e1
https://medium.com/@nimjea/ibdesignable-and-ibinspectable-in-swift-c12ea557b82b
Gesture Recognizer
Interface Builder 上で、Gesture Recognizer を設定できる。各 UI コンポーネントには、Outlet Collections の項目に gestureRecognizers があり、ここに Gesture Recognizer を紐づける。
https://gyazo.com/9f42319abcb93b7bff79d01027ef3858
Gesture Recognizer 側には Referencing Outlet Collections という項目があり、先ほどの gestureRecognizers と自身が紐づくとここに紐づけが現れることになる。
https://gyazo.com/ffe580fb55609f7ded09b90a32c325b2
Xib ファイル
rect という要素があるが、これは Interface Builder 上の要素の位置を表現しているらしい